A workflow defines a series of tasks within an organization to produce a final outcome. Workflows allow for business process formalization and management. A workgroup computing application allows different workflows to be defined for different types of jobs. For example, in a publishing setting, a document may be automatically routed from writer to editor to proofreader to production. At each stage in the workflow, one individual or group is responsible for a specific task. Once the task is complete, the workflow software ensures that the individuals responsible for the next task are notified and receive the data needed to execute the next stage of the process.
Workflows are commonly authored by software engineers. Applications often include many predefined workflows that target common scenarios. However, the predefined workflows cannot possibly meet the needs of all users. Those who are not familiar with writing source code or who are not privileged to access the source code associated with the workflows cannot create, customize or edit the predefined workflows.